﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace ArgusLight.Reflection
{
	public struct TypeFilter
	{
		public bool IncludeAbstract;
		public bool IncludeEnums;
		public bool IncludeValueTypes;
		public string[] Namespaces;
		public bool IncludeSubNamespaces;
		public Type DerivedFrom;

		public static TypeFilter Standard
		{
			get
			{
				TypeFilter RetVal = new TypeFilter();
				RetVal.IncludeAbstract = true;
				RetVal.IncludeEnums = true;
				RetVal.IncludeValueTypes = true;
				RetVal.Namespaces = null;
				RetVal.IncludeSubNamespaces = true;
				RetVal.DerivedFrom = null;
				return RetVal;
			}
		}
	}
}
